﻿using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using com.clinica.business.BE.comun;
using LiclCotizacion.Views;
using LiclCotizacion;
using LiclUtil;

namespace wesiGestClinica.gescot.popups
{
    
    public partial class FormsPopupAgregarTabla : System.Web.UI.Page
    {
        LiclCotizacionController oController = new LiclCotizacionController();
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Expires = 0;
            Response.CacheControl = "no-cache";
            Page.Header.Controls.Add(new LiteralControl(@"<base target=""_self"" />"));
            if (!Page.IsPostBack)
            {
                try
                {
                    lbl_TituloModulo.Text = "Búsqueda de Especializaciones";
                    IniciarControles();

                }
                catch (Exception ex)
                {

                }
            }
            dgTablaControl.RowCommand += new GridViewCommandEventHandler(dgTablaControl_RowCommand);
        }

        void dgTablaControl_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Seleccionar")
            {
                GridViewRow fila = (GridViewRow)((ImageButton)e.CommandSource).NamingContainer;
                dgTablaControl.SelectedIndex = fila.RowIndex;
                string[] arr = e.CommandArgument.ToString().Split(new char[] { '|' });
                ScriptManager.RegisterStartupScript(this, typeof(Page), "Envio", "enviarParam('" + arr[0] + "','" + arr[1] + "','" + arr[2] + "');", true);
            }
        }

        protected void rbu_PorNombre_CheckedChanged(object sender, EventArgs e)
        {
            txt_Descripcion.ReadOnly = false;
            txt_Codigo.ReadOnly = true;
            txt_Codigo.Text = string.Empty;
            rbu_PorCodigo.Checked = false;
            rbu_PorNombre.Checked = true;
        }

        protected void rbu_PorNroDocumento_CheckedChanged(object sender, EventArgs e)
        {
            txt_Descripcion.ReadOnly = true;
            txt_Codigo.ReadOnly = false;
            txt_Descripcion.Text = string.Empty;
            rbu_PorCodigo.Checked = true;
            rbu_PorNombre.Checked = false;
        }
        public void IniciarControles()
        {
            txt_Descripcion.Text = string.Empty;
            txt_Codigo.Text = string.Empty;
            ParametrosBE obj = new ParametrosBE();
            List<ParametrosBE> lstPaciente = new List<ParametrosBE>();
            lstPaciente.Add(obj);
            dgTablaControl.DataSource = lstPaciente;
            dgTablaControl.DataBind();
        }

        protected void btn_Buscar_Click(object sender, EventArgs e)
        {
            ParametrosBE obj = new ParametrosBE();
            List<ParametrosBE> lstPaciente = new List<ParametrosBE>();
            lstPaciente.Add(obj);
            dgTablaControl.DataSource = lstPaciente;
            dgTablaControl.DataBind();

            if (rbu_PorNombre.Checked)
            {
                if (txt_Descripcion.Text.Trim() != string.Empty)
                {
                    obj.DescripcionCorta = txt_Descripcion.Text.Trim();
                }
                else
                {
                    lblMensaje.Visible = true;
                    lblMensaje.Text = " Debe ingresar al menos una especializacion.";    
                }
               dgTablaControl.DataSource = oController.Obtener_Tabla(1, obj);
               dgTablaControl.DataBind();
            }
            else if (rbu_PorCodigo.Checked)
            {
                if (txt_Codigo.Text.Trim() != string.Empty)
                {
                    try
                    {
                        obj.Codigo = int.Parse(txt_Codigo.Text.Trim());
                    }
                    catch (Exception)
                    {
                        lblMensaje.Visible = true;
                        lblMensaje.Text = " Debe ingresar al menos un código especializacion válido.";
                    }                   
                }
                else
                {
                    lblMensaje.Visible = true;
                    lblMensaje.Text = " Debe ingresar al menos un código especializacion.";
                }
                dgTablaControl.DataSource = oController.Obtener_Tabla(2, obj);
                dgTablaControl.DataBind();
            }            
        }
    }
}
